import {
  Entity,
  Column,
  PrimaryGeneratedColumn,
  CreateDateColumn,
  UpdateDateColumn,
} from 'typeorm';

// 任务列表实体
@Entity()
export class Task {
  // 主键id
  @PrimaryGeneratedColumn()
  id: number;

  // 任务标题
  @Column({
    type: 'varchar',
    length: 50,
    nullable: false, // 必填
    comment: '任务标题,唯一且不可为空',
  })
  title: string;

  // 任务描述
  @Column({
    type: 'text',
    nullable: true, // 可为空
    comment: '任务描述,可为空',
  })
  description: string;

  // 任务状态
  @Column({
    type: 'int',
    nullable: false, // 不可为空
    default: 1, // 默认值为 1
    comment: '任务状态,默认为 1',
  })
  status: number;

  // 任务创建时间
  @CreateDateColumn({
    type: 'timestamp',
    comment: '任务创建时间',
  })
  created_at: Date;

  // 任务更新时间
  @UpdateDateColumn({
    type: 'timestamp',
    comment: '任务更新时间',
  })
  updated_at: Date;
}
